keel[開源的java軟體工具]

keel[開源的java軟體工具]
keel[開源的java軟體工具]
更多義項 ▼ 收起列表 ▲

KEEL,Knowledge Extraction based on Evolutionary Learning的簡稱,是一款開源的數據挖掘軟體工具 ,也是與WEKA一樣出名的分析和實驗環境 ,它提供了簡潔的GUI,用於執行包括回歸、分類、聚類、監督學習等多種數據挖掘任務。KEEL由JAVA語言編寫,包含了多種進化算法以及預處理技術與進化學習的整合,這使得它能夠對任何學習模型進行完整的分析。

簡介

KEEL是knowledge extraction based on evolutionary learning的簡稱,它是一款開源的JAVA軟體工具,遵循GNU的GPLv3許可,受西班牙項目(TIN-2005-08386-C05-(01, 02, 03, 04 and 05))的支持 。

KEEL能夠用於大量不同的知識發現任務,它提供了一個簡單的基於數據流的GUI,可以根據不同的數據集和計算智慧型算法(特別是進化算法)設計實驗、評估算法。它包含了各種各樣經典的知識提取算法、預處理技術(如訓練集選擇、特徵選擇、離散化、缺失值處理等)、計算智慧型的學習算法、混合模型、對比實驗的統計方法等等,它允許對各種算法進行完整的分析、比較。

主要特徵

突出了進化算法在模型預測、預處理(特徵選擇、訓練集選擇)、後期處理(模糊規則的進化調優)中的作用

實現了許多專業文獻中的數據挖掘算法,如離散化、噪聲濾波等

提供了一個統計庫來分析算法結果,庫中包含了一組統計測試,用於分析結果的正態性、異態性,比較含參和非參算法的結果

許多算法是基於JAVA類庫進行開發的

提供了一個用戶友好的界面,並且此界面是面向算法分析的

該工具的目標是設計包含多種數據集和多種算法的實驗,並且實驗會產生獨立的腳本,能夠在不同的機器上運行。

同時提供線下實驗和線下實驗,線上實驗的設計目的是幫助學習者學習算法的操作。

包含知識提取算法庫,其中整合了多種進化學習算法,也包含經典的學習算法

1.

突出了進化算法在模型預測、預處理(特徵選擇、訓練集選擇)、後期處理(模糊規則的進化調優)中的作用

2.

實現了許多專業文獻中的數據挖掘算法,如離散化、噪聲濾波等

3.

提供了一個統計庫來分析算法結果,庫中包含了一組統計測試,用於分析結果的正態性、異態性,比較含參和非參算法的結果

4.

許多算法是基於JAVA類庫進行開發的

5.

提供了一個用戶友好的界面,並且此界面是面向算法分析的

6.

該工具的目標是設計包含多種數據集和多種算法的實驗,並且實驗會產生獨立的腳本,能夠在不同的機器上運行。

7.

同時提供線下實驗和線下實驗,線上實驗的設計目的是幫助學習者學習算法的操作。

8.

包含知識提取算法庫,其中整合了多種進化學習算法,也包含經典的學習算法

目標人群

KEEL的用戶定位是研究者和學生

KEEL作為研究工具

對於研究者而言,KEEL常用於實驗的自動化和結果的統計分析。通常,一個實驗的設計包括了進化算法、統計和人工智慧等相關技術,KEEL對實驗的進程給予了特別的關注,從而能夠讓研究者對實驗的流程進行評估,由於當前的機器學習需要進行大量的計算,所以該研究工具並不是提供算法的實時視圖,而是生成一個腳本,然後交由計算機集群執行批處理。該工具允許研究者對大量數據進行預處理、實驗、分析,並且將更多注意力放在結果的分析和總結上 。

KEEL作為教育工具

學生的需求與研究者不同,一般而言,學生的目標不再是對各種算法進行統計意義上的比較,所以沒必要進行進行多次重複性的實驗。如果要在類中使用此工具,那么該工具的執行時間必須很短,而且要提供此算法執行的實時視圖,學生需要的是學習如何調整算法中的參數。從這個意義上講,教育工具是研究工具是簡化版本,只有一些較相關的算法可用,並且算法的執行是實時的,用戶對算法的運行有一個直觀的反饋。

功能模組

數據管理

該模組由各種數據管理工具組成,執行各種數據管理任務,包括創建新數據集、導入、導出數據集、數據編輯、可視化、數據轉換、數據抽取等

keel[開源的java軟體工具] keel[開源的java軟體工具]

實驗設計

該模組的任務是基於數據集和用戶需要進行實驗的設計,它提供了多種選擇:學習類型(分類、回歸、無監督學習等)、驗證類型(交叉驗證等)、.......

keel[開源的java軟體工具] keel[開源的java軟體工具]

針對不平衡數據集的實驗設計

該模型的任務與上一個模組(實驗設計)相同,只不過該模型針對的是不平衡數據集,鑒於不平衡數據集的特殊性,該模型中的算法主要是針對不平衡數據集

多實例學習算法的實驗

在該模組,研究者可以對多實例數據集進行分類,在這種分類情況下,研究者得到的結果不再是一組標記為正或負的實例,而是一組袋子,每個袋子中有多個實例,它們被標記為正或負。通常我們假設:如果一個袋子中的所有實例都是負的,那么這個袋子就被標記為負的,如果一個袋子中至少有一個實例是正的,則此袋子就被標記為正的。

半監督學習算法的實驗

半監督學習主要用於一種數據集,這種數據集中的實例包含兩種,一種是無類標,即沒有類標籤,第二種是有類標。在該模組,這種數據集被用於執行演繹和歸納分類。演繹分類的目標是預測數據集中無類標實例的類別,將有類標和無類標的實例結合在一起訓練一個分類器;而歸納分類的目標是將所有實例視為訓練集,訓練後對新的數據進行分類。

統計測試

KEEL為研究者提供了一套完整的成對、多重比較的統計分析技術,該模組預設了一些含參和非參的統計分析過程,這有助於研究者的分析任務。

keel[開源的java軟體工具] keel[開源的java軟體工具]






教育實驗

與套用於研究者的實驗模組的結構相似,此模型設計了一個可以逐步調試的實驗流程,從而為學習者提供一個指導,通過使用具有教育目的的平台來展示特定模型或算法的執行過程。

keel[開源的java軟體工具] keel[開源的java軟體工具]

算法

keel[開源的java軟體工具] keel[開源的java軟體工具]

KEEL中包含的算法主要有以下幾類:

數據預處理算法

主要包括數據離散化、訓練集選擇、特徵選擇、缺失值處理、數據轉換、噪聲過濾等算法

分類算法

包括基於規則學習的分類算法、基於實例學習的算法、神經網路、支持向量機、統計分類算法等

回歸算法

基於規則的回歸、基於神經網路的回歸、基於統計的回歸、基於支持向量機的回歸、邏輯回歸等

不平衡分類

針對不平衡數據集的分類算法,包括基於採樣的算法、代價敏感分類、基於算法改進的不平衡分類

半監督學習

多實例學習

聚類算法

關聯規則

統計測試

相關詞條

熱門詞條

聯絡我們